Subject: Responses to Bob Clouston's May 21 APPN MIB comments

From: "R.E. (Robert) Moore (254-4436)" <[email-masked]>
Date: Tue, 1 Aug 95 10:55:25 EDT

***********************WARNING:  *LONG* MESSAGE*********************

Rich Daugherty and I met with Bob and other Cisco representatives, to
begin work on addressing Bob's APPN MIB comments from back in May.  This
note does two things:

 -  It details where we (i.e., IBM and Cisco) now stand on each of Bob's
    original comments.

    Those replies starting with phrases such as "OK" or "Bob has
    withdrawn this comment" reflect a position agreed to by both IBM and
    Cisco.  Those beginning with "IBM:" reflect IBM's position on Bob's
    comments.

 -  It attaches some proposed changes to the APPN MIB that we have
    developed here at IBM.

Bob and I anticipate making available this week an updated version of the
APPN MIB, reflecting changes that (1) IBM and Cisco agree upon and (2)
strike us as non-controversial.  Other notes will be coming from IBM and
Cisco individually, with proposed MIB changes we'd like to discuss at
AIW8.  Obviously we're also interested in other companies' proposals
for MIB changes and/or AIW8 discussion topics.

The following items use the numbering from Bob's May 21 comments:

1a. OK--to be reflected in this week's MIB.

1b. Bob has withdrawn this comment.

2.  OK.  How about the following for the syntax:

        SYNTAX INTEGER <
                 noCache(1),
                 cacheNoIncrUpdate(2),
                 cacheAndIncrUpdate(3) >

3.  IBM:  I've attached an IBM proposal for the Port and Link tables that
    Leo Temoshenko and I have worked out.  Among other things, this
    reflects removal of all of the small, DLC-specific tables and removal
    of the port DLC trace table.

4a.  IBM:  After thinking more about how/when partner node type is used,
     we think it makes more sense to add it to the local TG table.  See
     comment below on your #12.

4b.  OK--to be reflected in this week's MIB.

4c.  Bob has withdrawn this comment.

4d.  OK--to be reflected in this week's MIB.

4e.  Add the following to the DESCRIPTION:

     In general, migration nodes do not append their CP names on XID3.
     Such nodes:  (1) will not support parallel TGs, (2) should be sent
     ACTPU (provided that the partner supports ACTPUs), and (3) should
     not be sent segmented BINDs.  However, if this node receives an XID3
     with an appended CP name, then the partner node will not be treated
     as a migration node.

     In the case of DYNAMIC TGs this object should be set to 'no'."

4f.  OK--to be reflected in this week's MIB.

4g.  Bob has withdrawn this comment.

4h.  Bob has withdrawn this comment.

4i.  These are removed in the attached IBM proposal.

4j.  OK--to be reflected in this week's MIB.

5a.  CpName:  OK--to be reflected in this week's MIB.
     TgNum:   Bob has withdrawn this comment.

5b.  OK--to be reflected in this week's MIB.

5c.  IBM:  Our products fill in all of these different sense data fields,
     and have found the diagnostic information to be very useful during
     test.  As I read SNA Formats, XidByte/BitInError do not duplicate
     info in the sense data itself:  CV 22 returns a byte offset, a bit
     offset, and optionally a 4-byte sense data.

6.  OK--to be reflected in this week's MIB.

7a.  OK--to be reflected in this week's MIB.

7b.  OK--to be reflected in this week's MIB.

7c.  IBM:  These counters provide a useful measure of one important
     component of the overall control-flow overhead.  We think they
     should stay.

7d.  OK--to be reflected in this week's MIB.

7e.  IBM:  Let's leave these in for the moment.  I want to get with Tim
     Hefel, to understand how these relate to his TRS enhancements.

7f.  Bob may submit a specific Cisco proposal for these.

7g.  IBM:  TotalRouteRejs is not just the sum of the COS rejects:  it
     also counts attempts where the COS value is unknown.  Thus we think
     it should stay.  We can go either way on TotalRouteCalcs, although
     it is convenient to have a single value that can be retrieved along
     with TotalRouteRejs.

8.  IBM:  This table represents TRS's view of adjacent nodes, while the
    LS table represents CS's view.  Ordinarily these will be the same,
    but when they aren't, it's useful to have both in order to diagnose
    what's wrong.

9a.  OK--to be reflected in this week's MIB.

9b.  IBM:  The data field in cv46 sf82 is definitely 7 bytes long (MAC +
     SAP).  From the description in the MIB, though, it looks like this
     information sometimes comes from other subfields.  This point needs
     some more investigation.

9c.  OK--to be reflected in this week's MIB as a single object with
     enumerated fields as in the new 2-bit field in CV47.

9d.  Bob has withdrawn this comment.

9e.  OK--to be reflected in this week's MIB.

9f.  Bob will provide an actual Cisco proposal for this.

10a.  OK--to be reflected in this week's MIB.

10b.  Bob will submit a Cisco proposal for this.

11.  IBM:  There are a total of six objects that are not duplicates:
        - appnLocalNnRsn
        - appnLocalNnCongested
        - appnLocalNnIsrDepleted
        - appnLocalNnEndptDepleted
        - appnLocalNnQuiescing
        - appnLocalNnChainSupport
     We agree that the duplicates should appear only at the
     front of the MIB, and we agree that ...ChainSupport should
     be moved up there.  These other five aren't really the same
     type of information as those up front (expect for
     appnNodeNnFrsn)--they're current values, rather than static
     node capabilities.  Thus it makes sense to us to leave them
     where they are.

12.  IBM:  Once again, we've got TRS's view versus CS's view, and we
     think that having both is useful here as well.  We'd like to see
     columns added to the local TG table for adjacent node type and
     adjacent node state, since this is where this information would be
     of most use to a topology application.

13.  OK--to be reflected in this week's MIB.

14.  OK--to be reflected in this week's MIB.

15a.  Bob may provide an actual Cisco proposal for this.

15b.  Bob has withdrawn this comment.

15c.  OK--to be reflected in this week's MIB.

15d.  Bob has withdrawn this comment.

15e.  OK--to be reflected in this week's MIB.

15f.  Bob has withdrawn this comment.

16.   IBM:  We're still thinking about the COS table.

17a.  IBM:  I haven't gotten any clarification on this yet.

17b.  OK--to be reflected in this week's MIB.

17c.  Bob has withdrawn this comment.

17d.  Bob has withdrawn this comment.

17e.  Bob has withdrawn this comment.

18.  OK--to be reflected in this week's MIB.  The current version of the
     APPC MIB is available from the IETF.

19.  This is still open for consideration.

Additional object:

Somewhere up front we'd like to add an object for appnMibLevel, which
returns the value of LAST-UPDATED in the MODULE-IDENTITY of the MIB that
the agent has implemented.  Otherwise a management application has to
infer what a particular agent has implemented from which objects (maybe
even which values) it finds in the agent's MIB.

Bob Moore, IBM Networking Architecture
+++++++++++++++++++ IBM Proposed MIB contents: +++++++++++++++++++++++++
-- ...
-- ...
-- ...
-- *****************************************************************************
-- APPN Port information
--

appnNodePortTable OBJECT-TYPE
      SYNTAX SEQUENCE OF AppnNodePortEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "The Port table describes the configuration and current
            status of the ports used by APPN.  When it is known to
            the APPN component, the value of ifIndex for the DLC
            immediately 'below' the port is included, to allow a
            Management Station to retrieve additional, DLC-specific
            information."

      ::= { appnPortInformation 1 }

appnNodePortEntry OBJECT-TYPE
      SYNTAX AppnNodePortEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "The Port Name is used as the index to this table."

      INDEX
             { appnNodePortName }

      ::= { appnNodePortTable 1 }

AppnNodePortEntry ::= SEQUENCE {
      appnNodePortName            DisplayString,
      appnNodePortState           INTEGER,

      appnNodePortDlcType         DisplayString,
      appnNodePortPortType        INTEGER,
      appnNodePortSIMRIM          INTEGER,
      appnNodePortLsRole          INTEGER,
      appnNodePortMaxRcvBtuSize   INTEGER,
      appnNodePortMaxIframeWindow INTEGER,
      appnNodePortDefLsGoodXids   Counter32,
      appnNodePortDefLsBadXids    Counter32,
      appnNodePortDynLsGoodXids   Counter32,
      appnNodePortDynLsBadXids    Counter32,
      appnNodePortIfIndex         INTEGER,
      appnNodePortDlcLocalAddr    DisplayString
                                   }

appnNodePortName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..10))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Administratively-assigned name for this APPN port."

      ::=  { appnNodePortEntry 1 }

appnNodePortState        OBJECT-TYPE
      SYNTAX INTEGER    {
                         inactive(1),
                         pendactive(2),
                         active(3),
                         pendinact(4)
                         }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
           "Indicates the current state of this port."

      ::=  { appnNodePortEntry 2 }

appnNodePortDlcType OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..20))
          MAX-ACCESS  read-only
          STATUS current
          DESCRIPTION
           "The type of DLC interface, distinguished according to
           the protocol immediately 'below' this layer.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this DLC type."

      ::=  { appnNodePortEntry 3 }

appnNodePortPortType  OBJECT-TYPE
      SYNTAX INTEGER {
                     leased(1),
                     switched(2),
                     sharedAccessFacilities(3)
              }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Identifies the type of line used by this port."

      ::=  { appnNodePortEntry 4 }

appnNodePortSIMRIM  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Indicates whether Set Initialization Mode (SIM) and
           Receive Initialization Mode (RIM) are supported."

      ::=  { appnNodePortEntry 5 }

appnNodePortLsRole OBJECT-TYPE
      SYNTAX INTEGER {
                     primary(1),
                     secondary(2),
                     negotiable(3),
                     abm(4)
             }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Initial role for LSs activated through this port,
           where 'abm' indicates asynchronous balance mode."

      ::=  { appnNodePortEntry 6 }

appnNodePortMaxRcvBtuSize OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Maximum Basic Transmission Size (BTU) that a
           link station on this port can receive."

      ::=  { appnNodePortEntry 7 }

appnNodePortMaxIframeWindow OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Maximum number of I-frames that can be received
           by the XID sender before an acknowledgement is received."

      ::=  { appnNodePortEntry 8 }

appnNodePortDefLsGoodXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
           "The total number of successful XIDs that have occurred
           on all defined link stations on this port since the last
           time this port was started."

      ::=  { appnNodePortEntry 9 }

appnNodePortDefLsBadXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
           "The total number of unsuccessful XIDs that have occurred
           on all defined link stations on this port since the last
           time this port was started."

      ::=  { appnNodePortEntry 10 }

appnNodePortDynLsGoodXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
           "The total number of successfull XIDs that have occurred
           on all dynamic link stations on this port since the last
           time this port was started."

      ::=  { appnNodePortEntry 11 }

appnNodePortDynLsBadXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
           "The total number of unsuccessful XIDs that have occurred
           on all dynamic link stations on this port since the last
           time this port was started."

      ::=  { appnNodePortEntry 12 }

appnNodePortIfIndex OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Identifies the entry in the ifTable corresponding
           to the DLC entity immediately 'below' this layer."

      ::=  { appnNodePortEntry 13 }

appnNodePortDlcLocalAddr OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..64))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Local address, represented as a DisplayString.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this address."

      ::=  { appnNodePortEntry 14 }

-->*********************************************************************
-->*** Note the tables that have been removed here:  the three small ***
-->*** DLC-specific port tables, and the port DLC trace table.       ***
-->*********************************************************************

-- *********************************************************************
-- APPN Link Station Information
--

appnNodeLsTable OBJECT-TYPE
      SYNTAX SEQUENCE OF AppnNodeLsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "This table contains detailed information about the
            link station configuration and current status."

      ::= { appnLinkStationInformation 1 }

appnNodeLsEntry OBJECT-TYPE
      SYNTAX AppnNodeLsEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "This table is indexed by the link station name."

      INDEX
             { appnNodeLsName }

      ::= { appnNodeLsTable 1 }

AppnNodeLsEntry ::= SEQUENCE {
      appnNodeLsName             DisplayString,
      appnNodeLsPortName         DisplayString,
      appnNodeLsDlcType          DisplayString,
      appnNodeLsDynamic          INTEGER,
      appnNodeLsState            INTEGER,
-- ls_defined_data_t / xid_info_t
      appnNodeLsCpName           DisplayString,
      appnNodeLsTgNum            INTEGER,
      appnNodeLsLimResource      INTEGER,
      appnNodeLsMigration        INTEGER,
      appnNodeLsBlockNum         DisplayString,
      appnNodeLsIdNum            DisplayString,
      appnNodeLsCpCpSession      INTEGER,
-- ls_parms_t (common) / xid_info_t
      appnNodeLsTargetPacingCount INTEGER,
      appnNodeLsMaxSendBtuSize    INTEGER,
-- tg_characteristics_t
      appnNodeLsEffCap           INTEGER,
      appnNodeLsConnCost         INTEGER,
      appnNodeLsByteCost         INTEGER,
      appnNodeLsSecurity         INTEGER,
      appnNodeLsDelay            INTEGER,
      appnNodeLsUsr1             INTEGER,
      appnNodeLsUsr2             INTEGER,
      appnNodeLsUsr3             INTEGER,
-- ls_cb_t (performance data)
      appnNodeLsInXidBytes       Counter32,
      appnNodeLsInMsgBytes       Counter32,
      appnNodeLsInXidFrames      Counter32,
      appnNodeLsInMsgFrames      Counter32,
      appnNodeLsOutXidBytes      Counter32,
      appnNodeLsOutMsgBytes      Counter32,
      appnNodeLsOutXidFrames     Counter32,
      appnNodeLsOutMsgFrames     Counter32,
-- ls_cb_xx (propgation delay)
      appnNodeLsEchoRsps         Counter32,
      appnNodeLsCurrentDelay     INTEGER,
      appnNodeLsMaxDelay         INTEGER,
      appnNodeLsMinDelay         INTEGER,
      appnNodeLsMaxDelayTime     AppnTimeStamp,
-- ls_cb_t (Xid Statistics)
      appnNodeLsGoodXids         Counter32,
      appnNodeLsBadXids          Counter32,
-- Dlc specific
      appnNodeLsSpecific         OBJECT IDENTIFIER,
      appnNodeLsSubState         INTEGER,
      appnNodeLsStartTime        AppnTimeStamp,
      appnNodeLsActiveTime       TimeTicks,
      appnNodeLsCurrentStateTime TimeTicks,
-- hpr specific
      appnNodeLsHprSup           INTEGER,
      appnNodeLsDestHprTrans     INTEGER,
      appnNodeLsErrRecoSup       INTEGER,
      appnNodeLsForAnrLabel      OCTET STRING,
      appnNodeLsRevAnrLabel      OCTET STRING,
      appnNodeLsCpCpNceId        OCTET STRING,
      appnNodeLsRouteNceId       OCTET STRING,
--
      appnNodeLsLocalAddr        DisplayString,
      appnNodeLsRemoteAddr       DisplayString
                                   }

appnNodeLsName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..10))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Administratively-assigned name for the link station.
           The name can be from one to ten characters."

      ::=  { appnNodeLsEntry 1 }

appnNodeLsPortName OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..10))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Administratively-assigned name for the port.
           The name can be from one to ten characters."

      ::=  { appnNodeLsEntry 2 }

appnNodeLsDlcType OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..20))
          MAX-ACCESS  read-only
          STATUS current
          DESCRIPTION
           "The type of DLC interface, distinguished according to
           the protocol immediately 'below' this layer.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this DLC type."

      ::=  { appnNodeLsEntry 3 }

appnNodeLsDynamic  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Identifies whether this resource is a dynamic link station.
          Dynamic link stations are created when adjacent nodes
          that have not been locally defined establish a connection
          with this node."

      ::=  { appnNodeLsEntry 4 }

appnNodeLsState        OBJECT-TYPE
      SYNTAX INTEGER    {
                         inactive(1),
                         pendactive(2),
                         active(3),
                         pendinact(4)
                         }
      MAX-ACCESS read-write
      STATUS current
      DESCRIPTION
           "State of this link station."

      ::=  { appnNodeLsEntry 5 }

appnNodeLsCpName       OBJECT-TYPE
      SYNTAX DisplayString (SIZE (3..17))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Fully-qualified name of the adjacent node for this link
           station.  The name can be from three to seventeen characters.
           Format is netid.cpname."

      ::=  { appnNodeLsEntry 6 }

appnNodeLsTgNum OBJECT-TYPE
      SYNTAX INTEGER (0..256)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Number associated with the TG to this link station
           with a range from 0 to 256.  A value of 256 indicates
           the tg number has not been negotiated and is unknown at
           this time."

      ::=  { appnNodeLsEntry 7 }

appnNodeLsLimResource  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Indicates whether the link station is
           a limited resource.  If it is, the TG
           is deactivated when there are no sessions."

      ::=  { appnNodeLsEntry 8 }

appnNodeLsMigration  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Indicates whether this link station will be used
            for connections to down-level or migration partners."

      ::=  { appnNodeLsEntry 9 }

appnNodeLsBlockNum OBJECT-TYPE
      SYNTAX DisplayString   (SIZE (3))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "Block number of the partner node.
          The block number is the first three digits of the node_id.
          These 3 hexideimal digits identify the product and are not
          configurable.
          The value is '000' when the partner node_id is not defined."

      ::=  { appnNodeLsEntry 10 }

appnNodeLsIdNum OBJECT-TYPE
      SYNTAX DisplayString  (SIZE (5))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
         "ID number of the partner node.
          The ID number is the last 5 digits of the node_id.
          These 5 hexadecimal digits are administratively defined and
          combined with the 3 digit block number form the node_id.
          This node_id is used to identify the node and is included
          in APPN alerts as well as being included in XIDs.  A unique
          value is required for connections to SNA sub-area.
          The value is '00000' when the partner node_id is not defined."

      ::=  { appnNodeLsEntry 11 }

appnNodeLsCpCpSession  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Indicates whether CP-CP sessions are
          supported by this link station."

      ::=  { appnNodeLsEntry 12 }

appnNodeLsTargetPacingCount  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Numeric value between 0 and 32767 inclusive indicating
            the desired pacing window size for BINDs on this TG.
            The number is significant only when fixed bind pacing
            is being performed."

      ::=  { appnNodeLsEntry 13 }

appnNodeLsMaxSendBtuSize  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Numeric value between 0 and 32767 inclusive indicating
            the desired number of bytes in a Basic Transmission Unit
            (BTU) that can be sent on this TG.
            This is an administratively assigned value."

      ::=  { appnNodeLsEntry 14 }

appnNodeLsEffCap   OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The effective capacity is an integer value that indicates
           the kilo bits per second.
           It is derived from the link bandwidth and maximum load
           factor with the range of 0 thru 603,979,776.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 15 }

appnNodeLsConnCost OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Cost per connect time: a value representing
           the relative cost per unit of time to use
           the TG. Range is from 0, which means no cost,
           to 255, which indicates maximum cost.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 16 }

appnNodeLsByteCost  OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Relative cost of transmitting a byte over this link.
           Range is from 0 (lowest cost) to 255.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 17 }

appnNodeLsSecurity  OBJECT-TYPE
      SYNTAX INTEGER {
                     nonsecure(1),                --X'01'
                     publicSwitchedNetwork(32),   --X'20'
                     undergroundCable(64),        --X'40'
                     secureConduit(96),           --X'60'
                     guardedConduit(128),         --X'80'
                     encrypted(160),              --X'A0'
                     guardedRadiation(192)        --X'C0'
             }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The security is represented as an integer with a range of
           1 thru 255 with the most common values enumerated as
           defined above.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 18 }

appnNodeLsDelay  OBJECT-TYPE
      SYNTAX INTEGER {
                     minimum(0),                 --X'00'
                     negligible(384),            --X'4C'
                     terrestrial(9216),          --X'71'
                     packet(147456),             --X'91'
                     long(294912),               --X'99'
                     maximum(2013265920)         --X'FF'
             }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Relative amount of time that it takes for a signal to
            travel the length of the logical link.  This time is
            represented in micro seconds, with some of the more
            common values enumerated.
            This is an administratively assigned value associated
            with the TG using this link station."

      ::=  { appnNodeLsEntry 19 }

appnNodeLsUsr1  OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "First user-defined TG characteristic for this TG with
           a range of 0-255.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 20 }

appnNodeLsUsr2  OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Second user-defined TG characteristic for this TG with
           a range of 0-255.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 21 }

appnNodeLsUsr3  OBJECT-TYPE
      SYNTAX INTEGER (0..255)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Third user-defined TG characteristic for this TG with
           a range of 0-255.
           This is an administratively assigned value associated
           with the TG using this link station."

      ::=  { appnNodeLsEntry 22 }

appnNodeLsInXidBytes OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of XID bytes received."

      ::=  { appnNodeLsEntry 23 }

appnNodeLsInMsgBytes OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of message (I-frame) bytes received."

      ::=  { appnNodeLsEntry 24 }

appnNodeLsInXidFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of XID frames received."

      ::=  { appnNodeLsEntry 25 }

appnNodeLsInMsgFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of message (I-frame) frames received."

      ::=  { appnNodeLsEntry 26 }

appnNodeLsOutXidBytes OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of XID bytes sent."

      ::=  { appnNodeLsEntry 27 }

appnNodeLsOutMsgBytes OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of message (I-frame) bytes sent."

      ::=  { appnNodeLsEntry 28 }

appnNodeLsOutXidFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of XID frames sent."

      ::=  { appnNodeLsEntry 29 }

appnNodeLsOutMsgFrames OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of message (I-frame) frames sent."

      ::=  { appnNodeLsEntry 30 }

appnNodeLsEchoRsps     OBJECT-TYPE
      SYNTAX Counter32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Number of responses returned from adjacent link station.
            A response should be returned for each test frame sent by
            this node.
            Test frames are sent to adjacent nodes periodically to
            verify connectivity and to measure that actual round trip
            time, that is the time the test frame is sent until the
            response is received."

      ::=  { appnNodeLsEntry 31 }

appnNodeLsCurrentDelay  OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The time that it took for the last test signal to be
            sent and returned from this link station to the
            adjacent links station.
            This time is represented in milliseconds."

      ::=  { appnNodeLsEntry 32 }

appnNodeLsMaxDelay      OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The longest time it took for a test signal
            to be sent and returned from this link station to the
            adjacent links station.
            This time is represented in milliseconds ."

      ::=  { appnNodeLsEntry 33 }

appnNodeLsMinDelay      OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The shortest time it took for a test signal
            to be sent and returned from this link station to the
            adjacent links station.
            This time is represented in milliseconds."

      ::=  { appnNodeLsEntry 34 }

appnNodeLsMaxDelayTime  OBJECT-TYPE
      SYNTAX AppnTimeStamp
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The time (since system up in hundredths of a second)
            when the longest delay occurred.
            This time can be used to identify when this high
            water mark occurred in relation to the last initialization
            of the APPN node."

      ::=  { appnNodeLsEntry 35 }

appnNodeLsGoodXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
            "The total number of successful XIDs that have occurred
             on this link station since the time it was started."

      ::=  { appnNodeLsEntry 36 }

appnNodeLsBadXids    OBJECT-TYPE
    SYNTAX  Counter32
    MAX-ACCESS  read-only
    STATUS current
    DESCRIPTION
            "The total number of unsuccessful XIDs that have occurred
             on this link station since the time it was started."

      ::=  { appnNodeLsEntry 37 }

appnNodeLsSpecific  OBJECT-TYPE
      SYNTAX OBJECT IDENTIFIER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Identifies the DLC specific OBJECT IDENTIFIER
            that can provide additional information."

      ::=  { appnNodeLsEntry 38 }

appnNodeLsSubState     OBJECT-TYPE
      SYNTAX INTEGER    {
                         inactive(1),
                         sentReqOpnstn(2),
                         pendXidExch(3),
                         sentActAs(4),
                         sentSetMode(5),
                         active(6),
                         sentDeactAsOrd(7),
                         sentDiscOrd(8),
                         sentDestroyTg(9),
                         sentCreateTg(10),
                         sentConnReq(11),
                         pendRcvConnInd(12),
                         pendSendConnRsp(13),
                         sentConnRsp(14),
                         pendDeact(15)
                         }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "State of this link station."

      ::=  { appnNodeLsEntry 39 }

appnNodeLsStartTime     OBJECT-TYPE
      SYNTAX AppnTimeStamp
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The time (in hundredths of a second) this link station
            has been active the last time since the time APPN was
            initialized."

      ::=  { appnNodeLsEntry 40 }

appnNodeLsActiveTime    OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The time (in hundredths of a second) this link station
            has been in the active state.
            A zero value indicates the link station has never been
            active."

      ::=  { appnNodeLsEntry 41 }

appnNodeLsCurrentStateTime  OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "The time (in hundredths of a second) the link station is
            in the current state."

      ::=  { appnNodeLsEntry 42 }

appnNodeLsHprSup        OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Indicates whether or not high performance routing (HPR)
            is supported over this link.  If the link is not active,
            the defined value will be returned."

      ::=  { appnNodeLsEntry 43 }

appnNodeLsDestHprTrans OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Indicates whether the destination node supports
           high performance routing (HPR) transport tower.
           If the link is not active, a value of NO will be returned."

      ::=  { appnNodeLsEntry 44 }

appnNodeLsErrRecoSup  OBJECT-TYPE
      SYNTAX INTEGER {yes(1), no(2)}
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Indicates whether the link station is supporting
           HPR link-level error recovery or not."

      ::=  { appnNodeLsEntry 45 }

appnNodeLsForAnrLabel  OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The forward ANR label for this link station.
           if the link does not support HPR or the value
           is unknown, a zero length string will be returned."

      ::=  { appnNodeLsEntry 46 }

appnNodeLsRevAnrLabel  OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The reverse ANR label for this link station.
           if the link does not support HPR or the value
           is unknown, a zero length string will be returned."

      ::=  { appnNodeLsEntry 47 }

appnNodeLsCpCpNceId OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The NCE ID for CP-CP sessions if this node supports
           HPR transport tower, a zero length string if the value
           is unknown or not meaningful for this node."

      ::=  { appnNodeLsEntry 48 }

appnNodeLsRouteNceId OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The NCE ID for Route Setup if this node supports
           HPR transport tower, a zero length string if the value
           is unknown or not meaningful for this node."

      ::=  { appnNodeLsEntry 49 }

appnNodeLsLocalAddr   OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..64))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Local address, represented as a DisplayString.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this address."

      ::=  { appnNodeLsEntry 50 }

appnNodeLsRemoteAddr  OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..64))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Remote address, represented as a DisplayString.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this address."

      ::= { appnNodeLsEntry 51 }

-->*********************************************************************
-->*** Note the tables that have been removed here:  the three small ***
-->*** DLC-specific link station tables.                             ***
-->*********************************************************************

--********************************************************************
-- This table provides information about errors this node encountered
-- with connections to adjacent nodes.  This includes all exceptional
-- conditions encountered establishing connections and all exceptional
-- conditions that result in terminating the connection.
--********************************************************************

appnNodeLsStatusTable OBJECT-TYPE
      SYNTAX SEQUENCE OF AppnNodeLsStatusEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "This table contains information related to exceptional
            and potential exceptional conditions that occur during
            the activation, XID exchange, and termination of the
            connection."

      ::= { appnLinkStationInformation 5 }

appnNodeLsStatusEntry OBJECT-TYPE
      SYNTAX AppnNodeLsStatusEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
           "This table is indexed by the LsStatusIndex, which is an
            integer that is continuously updated until it eventually
            wraps.  This provides the management station the ability
            to retrieve only the updates to the table by using the
            standard GET NEXT."

      INDEX
             { appnNodeLsStatusIndex }

      ::= { appnNodeLsStatusTable 1 }

AppnNodeLsStatusEntry ::= SEQUENCE {
      appnNodeLsStatusIndex              INTEGER,
      appnNodeLsStatusTime               TimeTicks,
      appnNodeLsStatusLsName             DisplayString,
      appnNodeLsStatusCpName             DisplayString,
      appnNodeLsStatusNodeId             OCTET STRING,
      appnNodeLsStatusTgNum              INTEGER,
      appnNodeLsStatusGeneralSense       OCTET STRING,
      appnNodeLsStatusNofRetry           INTEGER,
      appnNodeLsStatusEndSense           OCTET STRING,
      appnNodeLsStatusXidLocalSense      OCTET STRING,
      appnNodeLsStatusXidRemoteSense     OCTET STRING,
      appnNodeLsStatusXidByteInError     INTEGER,
      appnNodeLsStatusXidBitInError      INTEGER,
      appnNodeLsStatusDlcType            DisplayString,
      appnNodeLsStatusLocalAddr          DisplayString,
      appnNodeLsStatusRemoteAddr         DisplayString
                                   }

appnNodeLsStatusIndex       OBJECT-TYPE
      SYNTAX INTEGER
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Table index.  The value of the index begins at zero
           and is incremented up to a maximum value of 2**31-1
           (2,147,483,647) before wrapping."

      ::=  { appnNodeLsStatusEntry 1 }

appnNodeLsStatusTime    OBJECT-TYPE
      SYNTAX TimeTicks
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Time (in hundreds of a second) since this node was last
           initialized."

      ::=  { appnNodeLsStatusEntry 2 }

appnNodeLsStatusLsName       OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..10))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Administratively-assigned name for this link station."

      ::=  { appnNodeLsStatusEntry 3 }

appnNodeLsStatusCpName    OBJECT-TYPE
      SYNTAX DisplayString (SIZE (3..17))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Administratively-assigned fully-qualified name of the
           adjacent node partner.  This will be provided when the
           adjacent node has been defined at this node or when the
           XID sequence has proceeded far enough to to identify the
           adjacent node.  A blank CP name will indicate the name is
           unknown."

      ::=  { appnNodeLsStatusEntry 4 }

appnNodeLsStatusNodeId       OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Adjacent Node id"

      ::=  { appnNodeLsStatusEntry 5 }

appnNodeLsStatusTgNum   OBJECT-TYPE
      SYNTAX INTEGER (0..256)
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Number associated with the TG to this link station
           with a range from 0 to 256.  A value of 256 indicates
           the tg number has not been negotiated and is unknown at
           this time."

      ::=  { appnNodeLsStatusEntry 6 }

-- Sense code was defined as OCTET STRING, but since
-- the textual description of the sense code must be accesible to users,
-- the agent should convert it into a displayable ASCII string.
-- For example, a 4-byte sense code is transmitted as
-- an ASCII character string of length 8, "23F4F5D6".
--
appnNodeLsStatusGeneralSense OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The error sense code associated with the start sequence of
           activation of a link up to the beginning of the XID sequence."

      ::=  { appnNodeLsStatusEntry 7 }

appnNodeLsStatusNofRetry OBJECT-TYPE
      SYNTAX INTEGER    {
                          retry(1),
                          noretry(2)
                         }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "Indicates whether NOF will retry the start request to
           activate the link."

      ::=  { appnNodeLsStatusEntry 8 }

appnNodeLsStatusEndSense OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The sense code associated with the termination of the link
           connection to adjacent node.  This includes all sense
           information included in the disconnect recieved from the
           lower layer DLCs and also sense information indicating the
           link termination originated by upper layer APPN components."

      ::=  { appnNodeLsStatusEntry 9 }

appnNodeLsStatusXidLocalSense   OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The error sense code associated with the rejection of the
           XID."

      ::=  { appnNodeLsStatusEntry 10 }

appnNodeLsStatusXidRemoteSense   OBJECT-TYPE
      SYNTAX OCTET STRING
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The error sense code adjacent node returned to this node
           indicating the reason the XID was rejected."

      ::=  { appnNodeLsStatusEntry 11 }

appnNodeLsStatusXidByteInError      OBJECT-TYPE
      SYNTAX INTEGER    {
                         na(1000)
                        }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "This identifies the actual byte in the XID that caused the
           error.  The value of zero (0) indicates that the variable
           has no meaning."

      ::=  { appnNodeLsStatusEntry 12 }

appnNodeLsStatusXidBitInError      OBJECT-TYPE
      SYNTAX INTEGER    {
                         na(8)   -- not applicable
                        }
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "This identifies the actual bit within the error byte of the
           XID.  This only has meaning when the byte in error is greater
           than zero."

      ::=  { appnNodeLsStatusEntry 13 }

appnNodeLsStatusDlcType  OBJECT-TYPE
      SYNTAX DisplayString (SIZE (1..20))
          MAX-ACCESS  read-only
          STATUS current
          DESCRIPTION
           "The type of DLC interface, distinguished according to
           the protocol immediately 'below' this layer.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this DLC type."

      ::=  { appnNodeLsStatusEntry 14 }

appnNodeLsStatusLocalAddr   OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..64))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Local address, represented as a DisplayString.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this address."

      ::=  { appnNodeLsStatusEntry 15 }

appnNodeLsStatusRemoteAddr  OBJECT-TYPE
      SYNTAX DisplayString (SIZE (0..64))
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
           "Remote address, represented as a DisplayString.
           See the APPN MIB DLC Format Registry, at
           //networking.raleigh.ibm.com/pub/standards/aiw/mibs,
           for information on the rules for formatting this address."

      ::=  { appnNodeLsStatusEntry 16 }

-- *****************************************************************************
--
-- ...
-- ...
-- ...
+++++++++++++++++++ IBM Proposed Registry: +++++++++++++++++++++++++++++
This document is a registry of formatting information for the DLC
types used by APPN.  Specifically, it provides rules for formatting
values for the following objects in the APPN MIB (RFC xxxx):

   - appnNodePortDlcType        { appnNodePortEntry 3 }
   - appnNodePortLocalAddr      { appnNodePortEntry 14 }

   - appnNodeLsDlcType          { appnNodeLsEntry 3 }
   - appnNodeLsLocalAddr        { appnNodeLsEntry 50 }
   - appnNodeLsRemoteAddr       { appnNodeLsEntry 51 }

   - appnNodeLsStatusDlcType    { appnNodeLsStatusEntry 14 }
   - appnNodeLsStatusLocalAddr  { appnNodeLsStatusEntry 15 }
   - appnNodeLsStatusRemoteAddr { appnNodeLsStatusEntry 16 }

--> This still needs some more work.  The current contents simply
--> reflect what was embedded in the descriptions in the MIB.  Other
--> DLC types / address formats are undoubtedly needed.  Also, need
--> to explain clearly that this is using the display hint notation
--> to indicate the format of the DisplayStrings that the agent
--> actually sends in the SNMP PDU.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++ Begin Registry ++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ DLC Types Not Included in This Registry                           +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Other"
DLC Address Contents:     not determined
DLC Address Format:       free-form DisplayString
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ SDLC                                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "SDLC"
DLC Address Contents:     ????????
DLC Address Format:       ????????
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ DLSw                                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "DLSw"
DLC Address Contents:     ????????
DLC Address Format:       1x: 1x: 1x: 1x: 1x: 1x . 1x
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Socket                                                            +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Socket"
DLC Address Contents:     IP address / port number
DLC Address Format:       1d. 1d. 1d. 1d / 2d
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Ethernet                                                          +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Ethernet"
DLC Address Contents:     MAC address (canonical form) . SAP
DLC Address Format:       1x: 1x: 1x: 1x: 1x: 1x . 1x
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Token Ring                                                        +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Token Ring"
DLC Address Contents:     MAC address (canonical form) . SAP
DLC Address Format:       1x: 1x: 1x: 1x: 1x: 1x . 1x
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ FDDI                                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "FDDI"
DLC Address Contents:     MAC address (canonical form) . SAP
DLC Address Format:       1x: 1x: 1x: 1x: 1x: 1x . 1x
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Frame relay                                                       +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Frame Relay"
DLC Address Contents:     ????????
DLC Address Format:       1d. 1x
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Point-to-point protocol                                           +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "PPP"
DLC Address Contents:     ????????
DLC Address Format:       ????????
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ X.25                                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "X.25"
DLC Address Contents:     telephone number (??)
DLC Address Format:       1 to 15 decimal numbers
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ ISDN                                                              +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "ISDN"
DLC Address Contents:     telephone number (??)
DLC Address Format:       1 to 15 decimal numbers
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Twinaxial                                                         +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Twinaxial"
DLC Address Contents:     ????????
DLC Address Format:       ????????
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Wireless                                                          +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DLC Type DisplayString:   "Wireless"
DLC Address Contents:     MAC address (canonical form) . SAP
DLC Address Format:       1x: 1x: 1x: 1x: 1x: 1x . 1x

---

From: Robert Clouston <[email-masked]>
Date: Tue, 1 Aug 95 21:17:54 EDT

Here's my response to Bob Moore's post.  I leave out the points we have
agreed upon.  Others are obviously free to revive them.

3. We don't think the IETF would go for this private registry.  We propose
   that we take advantage of existing DLC MIBs for addressing as well 
   as nearly all of the other information that exists in those MIBs.
   We'll work on an alternate proposal but I'm not sure we'll have one
   before the AIW.

4a. Putting the partner node type in the Link table gives you the additional
    benefit of seeing the defined node type of inactive links that do not
    yet have a TG assigned.  I think it belongs here.

5b. (Use BlockNum & IDNum format)
    I'm going to reverse myself and propose we use this combined NodeID format
    instead so I propose to change the other instance to match this way.
    A small measure to reduce the number of objects.  These fields go hand
    in hand.

5c. I'll admit I thought the byte and bit offset was a repeat of the
    sense code like the 0835 sense code in a -BIND.  But now we ask is
    this useful without the XID image itself?  You're going to need a trace
    for that, at which point you have the CV22 in the next XID.  We also
    still don't see the need for 4 sense fields.  How about one sense code
    indicating the problem encountered and one field indicating whether it
    was the local or remote node that encountered the problem (sent CV22)?

7c. The MIB is bloated.  I won't pick on these objects for the moment but
    we doubt the IETF will accept anything this huge so I plan to propose
    more cuts that don't have clear usefulness.  If overall control-flow 
    overhead is desired I doubt it needs to be this granular.  Also there
    is no indication of the overall bandwidth (number of bytes) so I still
    question the value of this and other control-flow indications.
    I will separately be proposing a number of objects and tables for
    deletion and this will be among them.

7a. OK, still waiting for you     

7g. OK I understand the unknown COS factor now, thanks.  We still need to
    decide if route calcs and rejects are useful in any table.

8.  When are they different?  A product bug?  I don't think this is what
    a MIB is for.  I don't think we need to dump every components control
    blocks into MIB tables without much thought as to how they are used.    

9b. agreed that more investigation is needed since signalling information
    has been a recent AIW topic.
    
11. all of the remaining 5 values can easily be retrieved by using the
    appnNodeCpName as the index into the appnNnTopologyTable.  I missed
    pointing out that table as  where the rest of the info is duplicated.

12. My comment from 8. applies here as well.  I think we understand that
    the link table must stay because of additional information it has.
    I don't understand why a topology application can't look at the LS
    table instead of this one.  The TG number is there, as well as all 
    other information (with my proposed additions).  What more do you need?

16, 17a.  OK, waiting for you on these two.

On the ISSR history question, I brought this up in an offline discussion
but agree with you that this isn't useful enough to add to the mib.

We will have to think more about the appnMibLevel object.

    Some addionational comments we have:

    20. Descriptions should assume some base APPN knowledge, and should also
    be sure to describe what it is the object returns.  For example,
    appnNodeNnRouteAddResist should say "The route addition resistance of
    this node."  If further clarification is really needed, it should follow
    what the node returns rather than precede it.  appnNodeNnFrsn is an
    example of the latter.  I want to get consensus on this before going to
    the effort of even looking at all of the descriptions with this in mind.

    21. LsStatus table should indicate that it is up to each implementation 
    as to how many entries to save.

    22. The appnMemoryUse group syntax should all be changed to Gauge32 to
    indicate that some implementations may have a floating total memory
    size and thresholds.  Otherwise someone may get appnMemorySize once
    and compare appnMemoryUsed against it, not realized memory size had
    increased.  Another suggestion would be to just have a memory state
    object, indicating memory is ok, at a warning level, or at a critical
    level.

    23. appnIsInSessType should have an 'other' enum as we may not always
    be able to tell the session type as an ISR node.

    24. INTEGER without any enums should be changed to Integer32 or INTEGER 
    with a range.  appnNodeNnRouteAddResist is one of many examples of this.

    25. There are some objects such as appnNodeLsSecurity and appnNodeLsDelay
    which have enumerated values but the description also seems to indicate
    other values are possible.  This isn't legal, it needs to be either 
    enums or INTEGER with a rang   
    I thought at one point the security field in CV47 was a 1-byte field
    that took any value but I see that only the values that are enumerated
    are allowed, so if that's true than the description of "range of 1 thru 
    255" should be stricken.  However there is no such restriction in a

    internal COS table so that should be INTEGER(0..255) with the description 
    listingthe 'enumerated' values and there integer and hex equivalents for 
    reference.

    For LsDelay (cv47 propagation delay) it appears that defaults are listed
    but any value from x'00'-x'255' is allowed and is decoded, so it should
    be similar to LsEffCap.

    I think we should get Tim Hefel to clarify this.

26. The appnIsInFqLuName should be renamed the appnIsInFqCpName
    since it is a CP name that goes on FQPCID, not an LU name.
    
27. In the LS table, we would like to add the destination node's
    link station name added, when available.  It often flows in the
    XID and can be useful information for a management station especially 
    when the partner node does not support the MIB.

Bob